package com.whfc.ms.api.sys.service;

import com.whfc.common.result.PageData;
import com.whfc.emp.dto.AppWorkTypeDTO;
import com.whfc.entity.dto.Apply.rep.*;
import com.whfc.entity.dto.Apply.req.*;
import com.whfc.fuum.entity.SysUser;
import com.whfc.fuum.entity.WxUser;
import com.whfc.ms.api.sys.dto.EntryApplicationDTO;
import com.whfc.ms.api.sys.dto.EntryApplicationDetailRep;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author xie_jiangyong
 * @description
 * @date 2025-09-13
 */
public interface SysApplyService {

    /**
     * 人员入厂申请
     *
     * @param req
     * @return Result
     */
    String saveApplyPersonnel(SysUser user, AppEntryApplicationDTO req);

    /**
     * 查询人员信息
     *
     * @param req
     * @return Result
     */
    List<SafetyTrainingExamReq> queryPersonnel(QueryPersonnelReq req);

    /**
     * 获取机构
     *
     * @return Result
     */
    List<InstitutionRep> queryInstitution(SysUser user,Integer deptId);

    /**
     * 入场审核列表
     *
     * @return Result
     */
    PageData<EntryApplicationDTO> entryReview(SysUser user, AppEntryApplicationReq req);

    /**
     * 入场审核
     *
     * @return Result
     */
    String applyEntryReview(SysUser user,Integer approvalResult, Integer id);

    String uplodFile(MultipartFile file);

    List<StaffInfoRep> querycheckInList(QuerycheckInListReq req);

    PageData<EntryApplicationListRep> list(SysUser user,AppEntryApplicationReq request);

    List<AppWorkTypeDTO> queryCategory(Integer depyId);

    EntryApplicationDetailRep queryEntryDetails(Integer id);

    AppEntryApplicationRep queryEntryInfo(Integer id);

    void edit(AppUpEntryApplicationDTO req);
}
